package com.wedu.service;

import com.wedu.entity.Job;
import com.wedu.entity.User;

import javax.sql.rowset.spi.SyncResolver;
import java.util.List;

public interface UserService {
    //判断账号是否已注册
    boolean name_t(String uid);
    //忘记密码，确认用户信息
    boolean name_t(String uid,String name);
    //判断是否是校内人员,用于注册保证姓名相同
    boolean uid_t(String uid,String name);
    //判断是否是校内人员,用于注册，判断uid是否已经注册过
    boolean uid_t(String uid);
    //判断用户编号是否重复
    boolean acid(String acid);
    //注册成功，将用户信息加入user表
    boolean addUser(User user);
    //忘记密码，修改密码
    boolean password(String id,String password);
    //用户登录,并判断登录次数是否为0
    User login_t(String id,String password);
    //用户登录五次，封锁账号
    void login_index(int index,String id);
    //修改用户信息
    boolean modify(User user);
    //查询用户信誉等级
    int level(User user);
    //查询余额
    double balance(User user);
    //按时完成次数
    int frequency(User user);
    //逾期完成次数
    int frequency_t(User user);
    //根据账号返回一个对象
    User id(String id);
    //修改用户信誉等级
    boolean level(String id,int level);
    //注销账户
    void acid_remove(String acid);
    //添加在校人员
    boolean add_personnel(String id,String name);
    //返回所有用户信息
    List<User> information();
    //投放兼职信息
    void information(Job job);
    //返回所有兼职信息
    List<Job> job_information(String acid);
    //撤销兼职信息
    void revoke(int did);
    //查询进行中撤销兼职信息
    List<String> job_acid(int did);
    //更新兼职人员余额
    void user_balance(String acid,double salary);
    //判断兼职信息是否存在
    Job information(int did,String acid);
    //管理员查看所有的待审批兼职信息
    List<Job> look();
    //根据兼职信息编号判断兼职是否存在
    boolean handle_did(int did,int in);
    //根据兼职信息编号返回一个对象
    Job didG(int did);
    //管理员处理待审批信息
    void handle(int did,int status);
    //查询所有已通过审核的兼职信息
    List<Job> look_over();
    //管理员修改职位等级
    void job_level(int did,int level);
    //管理员修改兼职类型
    void jobType_name(int did,String jobType_name);
    //管理员修改扣费比例
    void deduct_salary(int did,double deduct_salary);
    //管理员查询已经结束的兼职信息
    List<Job> completedG();
    //管理员查询已逾期的兼职信息
    List<Job> overdue();
    //兼职人员查询所有现有职位信息
    List<Job> position_information();
    //根据job_acid和did判断进行中兼职信息是否存在
    boolean repeat(String job_acid,int did);
    //根据job_acid查找正在进行中的工作
    List<Job> processing(String job_acid);
    //兼职人员兼职工作
    void add_worker(Job job);
    //根据job_acid查找已完成的工作
    List<Job> finish(String job_acid);
    //结束工作更改用户所兼职的兼职信息
    void update_end(int did);
    //结束工作更改项目状态
    void update(int did);
}
